﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;

namespace SharpSoda.Message
{
    public interface IMessageDispatcher
    {
        void Process(IMessageSession session, object data);

        void RegisterHandler(IMessageHandler handler);
        IMessageHandler GetHandler(string messageName);
        List<IMessageHandler> GetHandlers();

        int LoadHandlers(string nameSpace = "", Assembly assembly = null);
        

    }
}
